ひとりNavigation API Advent Calendar 04日目
https://gyazo.com/7ecfc77dab54873072b81c5936c96d5b
日本語訳だと履歴 APIってなるらしい
原文が公開されている Dive Into HTML5 というサイトは “HTML5: Up & Running” という名前で Google Press より出版、O’Reilly Media より発売されています
これは明日にでも日本語訳してまとめたいyamanoku.icon APIについて
メソッド
history.go()
セッション履歴から特定のページを読む
引数は数値が入る
history.go(2)だと2ページ後に進む
history.go(-2)だと2ページ前に戻る
history.go()とhistory.go(0)はページリロードする
history.go(1)はhistory.forward()と同等
history.go(-1)はhistory.back()と同等
history.back()
history.forward()
history.pushState()
pushState(state, title, url)
引数は3つ
state
状態としてのオブジェクトが入る
title
歴史的な理由で追加されたもので省略できないらしい
空文字を渡しておくと良い
ここの歴史的理由を探るだけでも1記事になりそうな気配があるなyamanoku.icon
url
省略可能
現在のアドレスバーへのURLを設定できる
設定した値が不適切だと"SecurityError" DOMExceptionのエラーを返す
history.replaceState()
履歴を更新したいときに使う
現在のページでURLを書き換えたのちにページを戻ると書き換える前のURLの履歴がなくなってる状態になってる
replaceState(state, title, url)
pushState()と同一の引数
とのことです
プロパティ
length
読み込まれているページのセッション履歴数
scrollRestoration
スクロール位置の復元設定
autoが自動的に戻るようにする
manualが自動で戻らないようにする
state
pushState()で記録した値を読み取る
history.pushState({ name: "Example" }, "", "example.html");ってやっておくと
history.stateには{name: "Example"}が入るようになる
イベント
PopStateEvent
プロパティ
state
プロパティと同じ
hasUAVisualTransition
改めて見てみるとそんなにAPI自体が多いわけではなかったな